package evemanutool.gui.corp.components; import java.util.Date; import javax.swing.SwingConstants; import com.beimin.eveapi.shared.marketorders.ApiMarketOrder; import evemanutool.data.display.MarketOrder; import evemanutool.data.general.Time; import evemanutool.gui.general.tabel.SimpleTableModel; @SuppressWarnings("serial") public class MarketOrderModel extends SimpleTableModel<MarketOrder> implements SwingConstants { public MarketOrderModel() { super( new String[] {"Type", "Quantity", "Price (ISK)", "Station", "Region", "Expires in", "Issued by", "Wallet Division"}, new int[] {LEFT, RIGHT, RIGHT, LEFT, LEFT, LEFT, LEFT, LEFT}); } @Override public Class<?> getColumnClass(int columnIndex) { switch (columnIndex) { case 0: case 1: return String.class; case 2: return Double.class; case 3: case 4: return String.class; case 5: return Time.class; case 6: case 7: return String.class; default: return Object.class; } } @Override public Object getValueAt(int row, int col) { MarketOrder m = dataList.get(row); ApiMarketOrder mm = m.getMarketOrder(); switch (col) { case 0: return m.getItem().getName(); case 1: return mm.getVolRemaining() + "/" + mm.getVolEntered(); case 2: return mm.getPrice(); case 3: return m.getStation().getName(); case 4: return m.getRegion().getName(); case 5: return new Time((long) (mm.getIssued().getTime() + (((long) mm.getDuration()) * 24 * 3600 * 1000) - new Date().getTime())); //Duration is in days. case 6: return m.getIssuer().getName(); case 7: return m.getWalletDivision(); default: return null; } } }